Targeted fingerprinting of radio broadcast audio

ABSTRACT

A system comprises an intermediate communication platform that provides an interface to an Internet network; and a first server including: a port operatively coupled to the intermediate communication platform, processing circuitry, and a service application for execution by the processor. The service application is configured to: receive geographic location information of a radio receiver via the intermediate communication platform; determine one or more radio broadcasts available to the radio receiver according to the geographic location information; and send metadata for the radio broadcast, the metadata including an indication whether content of the radio broadcast is suitable for an audio fingerprinting process to the radio receiver via the intermediate communication platform.

TECHNICAL FIELD

The technology described in this patent document relates to systems andmethods for providing supplemental data (e.g., metadata) that isassociated with over-the-air radio broadcast signals.

BACKGROUND

Over-the-air radio broadcast signals are used to deliver a variety ofprogramming content (e.g., audio, etc.) to radio receiver systems. Suchover-the-air radio broadcast signals can include conventional AM(amplitude modulation) and FM (frequency modulation) analog broadcastsignals, digital radio broadcast signals, hybrid analog and digitalbroadcast signals, or other broadcast signals. Hybrid radio broadcastingtechnology and digital radio broadcasting technology can deliver audioand data services to mobile, portable, and fixed receivers.

Service data that includes multimedia programming can be included withradio broadcasts. The broadcast of the service data may be contracted bycompanies to include multimedia content associated with primary or mainradio program content. However, service data may not always be availablewith the radio broadcast. In this case it may be desirable to identifythe audio content being broadcast, and match service data with the audiocontent. Some current broadcast radio content information systems relyon digital “fingerprinting” of the audio content. However, the audiofingerprinting process can consume a lot of memory of the radio receiverand the identification service for the fingerprinting can be expensivein terms of cost and in terms of resources such as memory resources andprocessing resources of the radio receivers.

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

In general, embodiments of the radio broadcast metadata distributionsystem and method determine whether received audio is suitable forfingerprinting before the fingerprinting is used to obtain audiometadata related to the radio broadcast. An example radio systemincludes an intermediate communication platform that provides aninterface to an Internet network, and a first server including: a portoperatively coupled to the intermediate communication platform,processing circuitry, and a service application for execution by theprocessing circuitry. The service application is configured to: receivegeographic location information of a radio receiver via the intermediatecommunication platform, determine one or more radio broadcasts availableto the radio receiver according to the geographic location information,and send metadata for the radio broadcast to the radio receiver via theintermediate communication platform, the metadata including anindication whether content of the radio broadcast is suitable for anaudio fingerprinting process.

An example radio receiver includes radio frequency (RF) receivercircuitry, an Internet network interface, a display, processingcircuitry, and a client application program that includes instructionsfor execution by the processing circuitry. The RF circuitry isconfigured to receive a radio broadcast signal. The client applicationprogram is configured to send geographical location information to anaudio metadata service application via the Internet network interface,and receive via the :Internet network interface, metadata for a radiobroadcast available to the radio receiver, the metadata including anindication whether content of the radio broadcast is suitable for anaudio fingerprinting process.

It should be noted that alternative embodiments are possible, and stepsand elements discussed herein may be changed, added, or eliminated,depending on the particular embodiment. These alternative embodimentsinclude alternative steps and alternative elements that may be used, andstructural changes that may be made, without departing from the scope ofthe invention.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings, which are not necessarily drawn to scale, like numeralsmay describe similar components in different views. Like numerals havingdifferent letter suffixes may represent different instances of similarcomponents. The drawings illustrate generally, by way of example, butnot by way of limitation, various embodiments discussed in the presentdocument.

FIG. 1 is a block diagram illustrating an overview of embodiments of theradio system.

FIG. 2 is a block diagram of an example of a server to provide anInternet Protocol stream to radio receivers.

FIG. 3 is a flow diagram of an example of a method of distributingmetadata to radio receivers.

FIG. 4 is a block diagram of portions of an example of a radio receiver.

DETAILED DESCRIPTION

In the following description of embodiments of a radio broadcastmetadata distribution system, reference is made to the accompanyingdrawings. These drawings show by way of illustration specific examplesof how embodiments of the metadata distribution system may be practiced.It is understood that other embodiments may be utilized, and structuralchanges may be made without departing from the scope of the claimedsubject matter.

Over-the-air radio broadcast signals are commonly used to deliver avariety of programming content (e.g., audio, etc.) to radio receiversystems. Main program service (MPS) data and supplemental programservice (SPS) data can be provided to radio broadcast receiver systems.Metadata associated with the programming content can be delivered in theMPS data or SPS data via the over-the-air radio broadcast signals. Themetadata can be included in a sub-carrier of the main radio signal. InIBOC radio, the radio broadcast can be a hybrid radio signal that mayinclude a streamed analog broadcast and a digital audio broadcast.Sub-carriers of the main channel broadcast can include digitalinformation such as text or numeric information, and the metadata can beincluded in the digital information of the sub-carriers. Thus, a hybridover-the-air radio broadcast can include an analog audio broadcast, adigital audio broadcast, and other text and numeric digital informationsuch as metadata streamed with the over-the-air broadcast. Theprogramming content may be broadcast according to the DAB standard, thedigital radio mondiale (DRM) standard, radio data system (RDS) protocol,the radio broadcast data system (RBDS) protocol, or a high definition(HD) IBOC radio protocol.

The metadata can include both “static” metadata and “dynamic” metadata.Static metadata changes infrequently or does not change. The staticmetadata may include the radio station's call sign, name, logo (e.g.,higher or lower logo resolutions), slogan, station format, stationgenre, language, web page uniform resource locator (URL), URL for socialmedia (e.g., Facebook, Twitter), phone number, short message service(SMS) number, SMS short code, program identification (PI) code, country,or other information.

Dynamic metadata changes relatively frequently. The dynamic metadata mayinclude a song name, artist name, album name, album image, artist image(e.g., related to content currently being played on the broadcast),advertisements, enhanced advertisements (e.g., title, tag line, image,phone number, SMS number, URL, search terms), program schedules (image,timeframe, title, artist name, DJ name, phone number, URL), servicefollowing data, or other information. When the radio receiver system isreceiving an over-the-air radio broadcast signal from a particular radiostation, the receiver system may receive both static metadata anddynamic metadata.

Another approach to provide service data is to combine radio informationbroadcast over-the-air (OTA) with Internet Protocol (IP) deliveredcontent to provide an enhanced user experience. An example of this typeof service is DTS® Connected Radio' service, which combines OTAanalog/digital AM/FM radio with IP delivered content. The combinedservice receives dynamic metadata (such as artist information and songtitle, on-air radio program information and station contact information)directly from local radio broadcasters, which is then paired withIP-delivered content (e.g., metadata), and displayed in vehicles. TheDTS Connected Radio service supports all global broadcast standardsincluding analog, DAB, DAB+ and HD Radio™. The radio receivers of thevehicles integrate data from Internet services with broadcast audio tocreate a rich media experience. One of the Internet services provided isinformation about what the radio stations are currently playing and haveplayed.

As explained previously herein, service data may not always be availablewith a radio broadcast, and it may be desirable to send an audiofingerprint to identify the content of the over-the-air radio broadcastand receive metadata for the identified radio broadcast for presentationto the user. The audio fingerprint could be transmitted from thein-vehicle radio receiver to a server that performs automatic contentrecognition (ACR) to identify content of the over-the-air radiobroadcast.

However, the digital fingerprinting and identification of the audiofingerprint can be expensive in terms of cost of the service and interms of resources of the radio receiver, such as processor and memoryuser. These resources may be wasted if the broadcast audio beingreceived by the radio receiver is not suitable for the ACRfingerprinting and identification process. For example, if the broadcastaudio does not include music, the ACR process may fail. This may happenif the broadcast audio contains content of a talk program or acommercial. An improvement would be to verify that the broadcast audiois suitable for ACR fingerprinting and identification before the processis started.

FIG. 1 is a block diagram illustrating an overview of embodiments of theradio system. A traditional broadcast radio station 100 transmits an OTAaudio signal 105 to the radio receiver 110 of a vehicle. The OTA audiosignal 105 can be an analog audio signal, a digital audio signal, or ahybrid audio signal. The radio service provided is a combined OTA-IPradio service, and the in-vehicle radio receiver 110 can receive both anOTA audio signal 105 and an IP stream. The IP stream is received via anintermediate communication platform 108 from one or more servers 120.The intermediate communication platform 108 may be a cellular phonenetwork or a telematics network.

FIG. 2 is a block diagram of an example of a radio system server toprovide an IP stream to radio receivers. The server 220 includes aprocessing circuitry 272, a memory 274, and a service application 276 orapplication program interface (API) for execution by the processor 272.The service application 276 can comprise software that operates usingthe operating system software of the server 220. The server 220 includesa port 270 operatively coupled to an interface to the intermediatecommunication platform 208 that provides the IP stream and receivesinformation from radio receivers.

Returning to FIG. 1, to receive metadata for radio broadcasts, thein-vehicle radio receiver 110 sends geographic location information tothe service application of a server 120. One or more of the serversdetermines the radio broadcasts available to the radio receiveraccording to the geographic location information, and the serviceapplication sends the metadata for the determined radio broadcasts tothe radio receiver via the intermediate communication platform. The oneor more servers also sends an indication of suitability of the contentof radio broadcasts for the fingerprinting process. The indication canbe included with the metadata (e.g., in a specified field of themetadata). The indication is that the content is either suitable or notsuitable for audio fingerprinting. An indication of suitability is sentfor each radio broadcast of those radio broadcasts determined to beavailable to the radio receiver. The indications of suitability can be aflag or a digital code word stored in memory for radio broadcasts. Invariations, the indications of suitability of fingerprinting can bestored in association with the metadata for the radio broadcasts.

If the radio receiver 110 of a vehicle subsequently tunes to a radiobroadcast for which the radio receiver 110 does not have metadata (e.g.,dynamic metadata), the radio receiver 110 checks the indication of thesuitability of the content of the radio broadcast for fingerprinting. Ifthe indication for the radio broadcast is that the content is suitablefor the fingerprinting process, the radio receiver generates an audiofingerprint and sends the audio fingerprint 130 to the serviceapplication. The service application determines audio metadata of aradio broadcast corresponding to the audio fingerprint and sends thedetermined audio metadata 125 to the radio receiver 110. The serviceapplication may track the radio broadcasts being tuned to by multipleradio receivers. In response to determining the audio metadata from theaudio fingerprint provided by the first radio receivers, the serviceapplication may send the audio metadata to multiple radio receiversreceiving the radio broadcast. The audio metadata may be sent using theintermediate communication platform 108.

If the indication for the radio broadcast is that the content is notsuitable for the fingerprinting process, the radio receiver does notgenerate an audio fingerprint. The radio receiver 110 may do nothing ormay merely send an acknowledge back via the intermediate communicationplatform 108 according to a communication protocol. The radio receiver110 may display the metadata (e.g., static metadata) that is available.The resources of the radio receiver are not wasted by generating andsending a digital fingerprint that would fail the ACR fingerprintidentification process.

According to some embodiments, to determine the audio metadatacorresponding to the receiving audio fingerprint, the server 120includes a memory that may store a fingerprint database that stores theaudio metadata in association with audio fingerprint information in theserver memory. The service application determines the audio metadata byretrieving the audio metadata from the memory using the audiofingerprint.

In some embodiments, the service application receives the audio metadatafrom an audio identification source 150. The service application of afirst server 120 receives the audio fingerprint 130 from the radioreceiver 110 and forwards the audio fingerprint 140 to the audioidentification source 150. The first server and the audio identificationsource may communicate using a communication network. The communicationnetwork may be the intermediate communication platform 108 or anothercommunication network. As shown in the example of FIG. 2, the server 220can include a second port 260 operatively coupled to an Internet networkinterface 215. In certain embodiments, the Internet network interface215 includes an Internet access point (e.g., a modem), and the port 260can include (among other options) a communication (COMM) port, or auniversal serial bus (USB) port.

The audio identification source 150 is shown as residing in the cloud inFIG. 1. The term “cloud” is used herein to refer to a hardwareabstraction. Instead of one dedicated server processing the audiofingerprint and returning the audio metadata, sending the audiofingerprint to the cloud can include sending the audio fingerprint to adata center or processing center. The actual server used to process theaudio file content information is interchangeable at the data center orprocessing center. The audio identification source 150 may include asecond server that includes the fingerprint data base. The audioidentification source 150 receives the audio fingerprint 140 forwardedfrom the first server and returns the audio metadata 160 to the firstserver and may send other associated metadata to the first server 120.The first server 120 sends the audio metadata 125 on to the radioreceiver 110.

FIG. 3 is a flow diagram of an example of a method 300 of providingmetadata to a radio receiver. The method relates to a vehicle that is incontact with a radio system that combines an OTA radio broadcast with IPdelivered content, such a DTs Connected Radio system for example. Themethod may be performed using a client program of the radio receiver ofthe vehicle. At 305, the in-vehicle radio receiver tunes to a radiostation, and the radio receiver lacks dynamic metadata associated with aprogram currently being broadcast by the radio station. At 310, theradio receiver has queried the radio service system for static radiostation metadata for the radio broadcast. The radio service system mayinclude an application program interface (API) or service applicationexecuting on a server of the radio service system.

The radio receiver may send geographic location information with thequery to the radio system, and the API sends static metadata for anyradio broadcast that is available for reception by the radio receiver.The API also includes in the metadata an indication for a radiobroadcast whether the content of the radio broadcast is suitable foraudio fingerprinting and identification.

At 315, the radio receiver has received an indication from the API forthe radio broadcast missing the dynamic metadata that the radiobroadcast is suitable for ACR fingerprinting and identification. Becauseof the indication, at 320 the radio receiver generates an audiofingerprint and sends the audio fingerprint to the API. The ACRfingerprinting process may be performed by the client program or byother software of the radio receiver.

The radio receiver sends the audio fingerprint to the radio system usingan Internet connection. The radio system identifies the audio programcorresponding to the audio fingerprint and determines the audio metadataassociated with the audio program. At 325, the API distributes thedynamic metadata to the radio receiver and may distribute the dynamicmetadata to other radio receivers that are receiving the radio broadcast(e.g., via the intermediate communication platform). In someembodiments, the dynamic metadata is distributed to the radio receiversthat are capable of receiving the radio broadcast regardless of theradio station to which the receivers are tuned.

In some embodiments, the radio receiver may store an audio fingerprintdatabase, and before sending the audio fingerprint to the radio system,at 330 the radio receiver may first determine if it is storing themissing the dynamic metadata locally. For example, the radio receivermay store the results of previous audio fingerprinting and may check thedatabase to see if the corresponding audio program was previouslyidentified. If the audio fingerprint is found in the local database, theradio receiver uses the corresponding dynamic metadata for the radiobroadcast. This reduces the resources consumed at the radio receiver indetermining the audio metadata.

At 340, in response to the query for the radio broadcast, the radioreceiver receives an indication from the API that the content of theradio broadcast is not suitable for ACR fingerprinting. In this case,the client program of the radio receiver at 345 does not expend anyresources of the radio receiver such as processing bandwidth, memoryspace, or communication time in generating and sending a digitalfingerprint of the radio broadcast. The radio receiver may display themetadata (e.g., static metadata) that is available.

FIG. 4 is a block diagram of portions of an example of a radio receiver400. The radio receiver is able to receive an OTA radio broadcast and isable to receive IP delivered content. In certain variations, the radioreceiver is a DTS Connected Radio receiver. The radio receiver 400 maybe the radio receiver 110 of a vehicle shown in the example of FIG. 1.The radio receiver 400 includes a wireless Internet network interface440 for receiving metadata via wireless IP and other components forreceiving over-the-air radio broadcast signals. The Internet networkinterface 440 and receiver controller 430 may be collectively referredto as a wireless internee protocol hardware communication module of theradio receiver.

The radio receiver 400 includes radio frequency (RF) receiver circuitryincluding tuner 456 that has an input 452 connected to an antenna 454.The antenna 454, tuner 456, and baseband processor 451 may becollectively referred to as an over-the-air radio broadcast hardwarecommunication module of the radio receiver. The RF circuitry isconfigured to receive an audio broadcast signal.

Within the baseband processor 451, an intermediate frequency signal 457from the tuner 456 is provided to an analog-to-digital converter anddigital down converter 458 to produce a baseband signal at output 460comprising a series of complex signal samples. The signal samples arecomplex in that each sample comprises a “real” component and an“imaginary” component. An analog demodulator 462 demodulates the analogmodulated portion of the baseband signal to produce an analog audiosignal on line 464. The digitally modulated portion of the sampledbaseband signal is filtered by isolation filter 466, which has apass-band frequency response comprising the collective set ofsubcarriers f₁-f_(n) present in the received OFDM signal. First adjacentcanceller (FAC) 468 suppresses the effects of a first-adjacentinterferer. Complex signal 469 is routed to the input of acquisitionmodule 470, which acquires or recovers OFDM symbol timing offset/errorand carrier frequency offset/error from the received OFDM symbols asrepresented in received complex signal 469. Acquisition module 470develops a symbol timing offset Δt and carrier frequency offset Δf, aswell as status and control information. The signal is then demodulated(block 472) to demodulate the digitally modulated portion of thebaseband signal. The digital signal is de-interleaved by ade-interleaver 474, and decoded by a Viterbi decoder 476. A servicede-multiplexer 478 separates main and supplemental program signals fromdata signals. The supplemental program signals may include a digitalaudio file received in an IBOC DAB radio broadcast signal.

An audio processor 480 processes received signals to produce an audiosignal on line 482 and NIPSD/SYSD 481. In embodiments, analog and maindigital audio signals are blended as shown in block 484, or thesupplemental program signal is passed through, to produce an audiooutput on line 486. A data processor 488 processes received data signalsand produces data output signals on lines 490, 492, and 494. The datalines 490, 492, and 494 may be multiplexed together onto a suitable bussuch as an I²C, SPI, UART, or USB. The data signals can include, forexample, data representing the metadata to be rendered at the radioreceiver.

The Internet network interface 440 may be managed by the receivercontroller 430. As illustrated in FIG. 4, the Internet network interface440 and the receiver controller 430 are operatively coupled via a line442, and data transmitted between the Internet network interface 440 andthe receiver controller 430 is sent over this line 442. A selector 420may connect to receiver controller 430 via line 436 to select specificdata received from the Internet network interface 440. The data mayinclude metadata (e.g., text, images, video, etc.), and may be renderedat substantially the same time that primary or supplemental programmingcontent received over-the-air in the IBOC DAB radio signal is rendered.

The receiver controller 430 receives and processes the data signals. Thereceiver controller 430 may include a microcontroller that isoperatively coupled to the user interface 432 and memory 434. Themicrocontroller may be an 8-bit RISC microprocessor, an advanced RISCmachine 32-bit microprocessor, or any other suitable microprocessor ormicrocontroller. Additionally, a portion or all of the functions of thereceiver controller 430 could be performed in a baseband processor(e.g., the audio processor 480 and/or data processor 488). The userinterface 432 may include an input/output (I/O) processor that controlsthe display 444, which may be any suitable visual display such as an LCDor LED display. In certain embodiments, the user interface 432 may alsocontrol user input components via a touch-screen display. In certainembodiments, the user interface 432 may also control user input from akeyboard, dials, knobs or other suitable inputs. The memory 434 mayinclude any suitable data storage medium such as RAM, Flash ROM (e.g.,an SD memory card), and/or a hard disk drive. The radio receiver 400 mayalso include a global positioning system (GPS) receiver 496 to receiveGPS coordinates.

The processing circuitry of the receiver controller 430 is configured toperform instructions included in a client application program or“client” installed in the radio receiver. The client 446 is able togenerate an audio fingerprint from audio broadcasts received via the RFreceiver circuitry. The client 446 also sends geographical locationinformation to an audio metadata service application via the Internetnetwork interface 440. The radio receiver may include a GPS receiver 496and the client may send GPS coordinates as the geographical locationinformation. In response to sending the geographical information, theclient 446 receives metadata for any radio broadcast that is availableto the radio receiver at its indicated geographic location. Included inthis metadata is an indication for each radio broadcast whether thecontent of the radio broadcast is suitable for the ACR fingerprintingand identification process.

As explained previously herein, when audio metadata is missing orunavailable for the current radio broadcast to which the radio receiveris tuned, the client generates an audio fingerprint of the radiobroadcast when the indication for that radio broadcast is that itscontent is suitable for the audio fingerprinting process. The client 446sends the generated audio fingerprint to the audio metadata serviceapplication via the Internet network interface. The audio fingerprint isprocessed by the service application, and the client 446 receivesdynamic metadata. associated with the radio broadcast corresponding tothe audio fingerprint. The dynamic metadata may be received via theInternet network. In certain embodiments, the dynamic metadata isreceived via one or more sub-carriers of the main channel OTA broadcast.The client 446 displays the information included in the received dynamicmetadata.

When the indication is that content of the radio broadcast signal is notsuitable for the audio fingerprinting process, the client 446 does notgenerate the audio fingerprint. The client 446 may do nothing inresponse to the missing audio metadata or may display the metadata thatis available (e.g., static metadata instead of dynamic metadata).

The systems, devices, and methods described provide metadata to a radioreceiver of a vehicle. The radio receiver is able to perform audiofingerprinting, but the systems, devices, and methods prevent the radioreceiver from performing the audio fingerprinting and requestingidentification for the audio fingerprint when the content of a radiobroadcast is not suitable for the fingerprinting and identification.process. This saves significant computing resources and communicationbandwidth of the radio receiver.

Alternate Embodiments and Exemplary Operating Environment

Example 1 includes subject matter (such as a system to provide audiometadata to a radio receiver) comprising an intermediate communicationplatform that provides an interface to an Internet network, and a firstserver. The first server includes a port operatively coupled to theintermediate communication platform, processing circuitry, and a serviceapplication for execution by the processor. The service application isconfigured to: receive geographic location information of a radioreceiver via the intermediate communication platform; determine one ormore radio broadcasts available to the radio receiver according to thegeographic location information; and send metadata for the radiobroadcast to the radio receiver via the intermediate communicationplatform. The metadata includes an indication whether content of theradio broadcast is suitable for an audio fingerprinting process.

In Example 2, the subject matter of Example 1 optionally includes aserver configured to store indications of suitability of the audiofingerprinting process for multiple radio broadcasts in association withmetadata for the multiple radio broadcasts, and a service applicationconfigured to determine all radio broadcasts available to the radioreceiver according to the geographic location information; and. send themetadata for the determined radio broadcasts, including the indicationsof suitability of the audio fingerprinting process for the determinedradio broadcasts, in response to receiving the geographic locationinformation.

In Example 3, the subject matter of one or both Examples 1 and 2optionally includes a service application configured to: receive anaudio fingerprint from the radio receiver via the intermediatecommunication platform; determine audio metadata of a radio broadcastcorresponding to the audio fingerprint; and send the determined audiometadata to the radio receiver.

In Example 4, the subject matter of one or any combination of Examples1-3 optionally includes a service application configured to send thedetermined audio metadata to multiple radio receivers via theintermediate communication platform.

In Example 5, the subject matter of one or any combination of Examples1-4 optionally includes a server including a memory configured to storethe audio metadata in association with audio fingerprint information,and the service application is configured to determine the audiometadata by retrieving the audio metadata from the memory using theaudio fingerprint.

In Example 6, the subject matter of one or any combination of Examples1-4 optionally includes a second server configured to store the audiometadata; and a communication network operatively coupled to the firstand second servers. The service application of the first server isconfigured to determine the audio metadata by forwarding the audiofingerprint to the second server via the communication network andreceive the audio metadata from the second server.

In Example 7, the subject matter of one or any combination of Examples1-6 optionally includes a service application configured to send theindication whether content of the radio broadcast is suitable for anaudio fingerprinting process with static metadata, receive an audiofingerprint from the radio receiver via the intermediate communicationplatform, determine dynamic metadata of a radio broadcast correspondingto the audio fingerprint, and send the determined dynamic metadata tothe radio receiver via the intermediate communication platform.

In Example 8, the subject matter of one or any combination of Examples1-7 optionally includes the intermediate communication platform being acellular phone network,

In Example 9, the subject matter of one or any combination of Examples1-7 optionally includes the intermediate communication platform being atelematics network.

Example 10 can include subject matter (such as a radio receiver) or canoptionally be combined with one or any combination of Examples 1-9 toinclude such subject matter, comprising radio frequency (RF) receivercircuitry configured to receive a radio broadcast signal, an Internetnetwork interface, a display, processing circuitry, and a clientapplication program including instructions for execution by theprocessing circuitry. The client application program is configured tosend geographical location information to an audio metadata serviceapplication via the Internet network interface, and receive, via theInternet network interface, metadata for a radio broadcast available tothe radio receiver, the metadata including an indication whether contentof the radio broadcast is suitable for an audio fingerprinting process.

In Example 11, the subject matter of Example 10 optionally includes aclient application program configured to determine that dynamic metadataassociated with the radio broadcast is unavailable for presentationusing the display, generate an audio fingerprint of the radio broadcastwhen the indication is that the content of the radio broadcast issuitable for the audio fingerprinting process, send the audiofingerprint to the audio metadata service application via the Internetnetwork interface, receive dynamic metadata associated with a radiobroadcast corresponding to the audio fingerprint, and displayinformation included in the dynamic metadata.

In Example 12, the subject matter or one or both of Examples 10 and 11optionally includes a memory and a client application program configuredto determine that dynamic metadata associated with the radio broadcastis unavailable for presentation using the display, generate an audiofingerprint of the radio broadcast when the indication is that thecontent of the radio broadcast is suitable for the audio fingerprintingprocess, identify metadata stored in the memory using the generatedaudio fingerprint, and display information included in the identifiedmetadata.

In Example 13, the subject matter of one or any combination of Examples10-12 optionally includes a client application program configured todetermine that metadata associated with the radio broadcast isunavailable for presentation using the display, and not generate anaudio fingerprint of the radio broadcast when the indication is thatcontent of the radio broadcast signal is not suitable for the audiofingerprinting process.

In Example 14, the subject matter of one or any combination of Examples10-13 optionally includes a client application program configured toreceive, via the Internet network interface, metadata for all radiobroadcasts available to the radio receiver for the geographical locationinformation; and receive an indication for each available radiobroadcast whether content of the radio broadcast is suitable for theaudio fingerprinting process.

In Example 15, the subject matter of one or any combination of Examples10-14 optionally includes an Internet network interface that is acellular phone network.

In Example 16, the subject matter of one or any combination of Examples10-14 optionally includes an Internet network interface that is atelematics network.

Example 17 can include subject matter, or can optionally be combinedwith one or any combination of Examples 1-16 to include such subjectmatter, such as a computer readable storage medium includinginstructions that, when performed by processing circuitry of a server,cause the processing circuitry to perform acts comprising: receivinggeographic location information of a radio receiver via an intermediatecommunication platform that provides an interface to an Internetnetwork; determining a radio broadcast available to the radio receiveraccording to the geographic location information; and sending metadatafor the radio broadcast to the radio receiver via the intermediatecommunication platform, the metadata including an indication whethercontent of the radio broadcast is suitable for an audio fingerprintingprocess.

In Example 18, the subject matter of Example 17 optionally includes acomputer readable storage medium including instructions that cause theprocessing circuitry to perform acts comprising: determining all radiobroadcasts available to the radio receiver according to the geographiclocation information; and sending the metadata for the determined radiobroadcasts, including the indications of suitability of the audiofingerprinting process for the determined radio broadcasts, in responseto receiving the geographic location information.

In Example 19, the subject matter of one or both of Examples 17 and 18optionally includes a computer readable storage medium includinginstructions that cause the processing circuitry to performing actscomprising: receiving an audio fingerprint from the radio receiver,determining audio metadata of a radio broadcast corresponding to theaudio fingerprint, and sending the determined audio metadata to theradio receiver.

In Example 20, the subject matter of one or any combination of Examples17-19 optionally includes a computer readable storage medium includinginstructions that cause the processing circuitry to perform actscomprising: sending the audio metadata determined according to the audiofingerprint received from the radio receiver to multiple other radioreceivers via the intermediate communication platform.

These non-limiting examples can be combined in any permutation orcombination. Many other variations than those described herein will beapparent from this document. For example, depending on the embodiment,certain acts, events, or functions of any of the methods and algorithmsdescribed herein can be performed in a different sequence, can be added,merged, or left out altogether (such that not all described acts orevents are necessary for the practice of the methods and algorithms).Moreover, in certain embodiments, acts or events can be performedconcurrently, such as through multi-threaded processing, interruptprocessing, or multiple processors or processor cores or on otherparallel architectures, rather than sequentially. In addition, differenttasks or processes can be performed by different machines and computingsystems that can function together.

The various illustrative logical blocks, modules, methods, and algorithmprocesses and sequences described in connection with the embodimentsdisclosed herein can be implemented as electronic hardware, computersoftware, or combinations of both. To clearly illustrate thisinterchangeability of hardware and software, various illustrativecomponents, blocks, modules, and process actions have been describedabove generally in terms of their functionality. Whether suchfunctionality is implemented as hardware or software depends upon theparticular application and design constraints imposed on the overallsystem. The described functionality can be implemented in varying waysfor each particular application, but such implementation decisionsshould not be interpreted as causing a departure from the scope of thisdocument.

The various illustrative logical blocks and modules described inconnection with the embodiments disclosed herein can be implemented orperformed by a machine, such as a general purpose processor, aprocessing device, a computing device having one or more processingdevices, a digital signal processor (DSP), an application specificintegrated circuit (ASIC), a field programmable gate array (FPGA) orother programmable logic device, discrete gate or transistor logic,discrete hardware components, or any combination thereof designed toperform the functions described herein. A general purpose processor andprocessing device can be a microprocessor, but in the alternative, theprocessor can be a controller, microcontroller, or state machine,combinations of the same, or the like. A processor can also beimplemented as a combination of computing devices, such as a combinationof a DSP and a microprocessor, a plurality of microprocessors, one ormore microprocessors in conjunction with a DSP core, or any other suchconfiguration.

Embodiments of the targeted fingerprinting radio system and methoddescribed herein are operational within numerous types of generalpurpose or special purpose computing system environments orconfigurations. In general, a computing environment can include any typeof computer system, including, but not limited to, a computer systembased on one or more microprocessors, a mainframe computer, a digitalsignal processor, a portable computing device, a personal organizer, adevice controller, a computational engine within an appliance, a mobilephone, a desktop computer, a mobile computer, a tablet computer, asmartphone, and appliances with an embedded computer, to name a few.

Such computing devices can be typically be found in devices having atleast some minimum computational capability, including, but not limitedto, personal computers, server computers, hand-held computing devices,laptop or mobile computers, communications devices such as cell phonesand FDA's, multiprocessor systems, microprocessor-based systems, set topboxes, programmable consumer electronics, network PCs, minicomputers,mainframe computers, audio or video media players, and so forth. In someembodiments the computing devices will include one or more processors.Each processor may be a specialized microprocessor, such as a digitalsignal processor (DSP), a very long instruction word (VLINV), or othermicro-controller, or can be conventional central processing units (CPUs)having one or more processing cores, including specialized graphicsprocessing unit (GPU)-based cores in a multi-core CPU.

The process actions or operations of a method, process, or algorithmdescribed in connection with the embodiments disclosed herein can beembodied directly in hardware, in a software module executed by aprocessor, or in any combination of the two. The software module can becontained in computer-readable media that can be accessed by a computingdevice. The computer-readable media includes both volatile andnonvolatile media that is either removable, non-removable, or somecombination thereof. The computer-readable media is used to storeinformation such as computer-readable or computer-executableinstructions, data structures, program modules, or other data. By way ofexample, and not limitation, computer readable media may comprisecomputer storage media and communication media.

Computer storage media includes, but is not limited to, computer ormachine readable media or storage devices such as Blu-ray discs (BD),digital versatile discs (DVDs), compact discs (CDs), floppy disks, tapedrives, hard drives, optical drives, solid state memory devices, RAMmemory, ROM memory, EPROM memory, EEPROM memory, flash memory or othermemory technology, magnetic cassettes, magnetic tapes, magnetic diskstorage, or other magnetic storage devices, or any other device whichcan be used to store the desired information and which can be accessedby one or more computing devices.

A software module can reside in the RAM memory, flash memory, ROMmemory, EPROM memory, EEPROM memory, registers, hard disk, a removabledisk, a CD-ROM, or any other form of non-transitory computer-readablestorage medium, media, or physical computer storage known in the art. Anexemplary storage medium can be coupled to the processor such that theprocessor can read information from, and write information to, thestorage medium. In the alternative, the storage medium can be integralto the processor. The processor and the storage medium can reside in anapplication specific integrated circuit (ASIC). The ASIC can reside in auser terminal. Alternatively, the processor and the storage medium canreside as discrete components in a user terminal.

The phrase “non-transitory” as used in this document means “enduring orlong-lived”. The phrase “non-transitory computer-readable media”includes any and all computer-readable media, with the sole exception ofa transitory, propagating signal. This includes, by way of example andnot limitation, non-transitory computer-readable media such as registermemory, processor cache and random-access memory (RAM). The phrase“audio signal” is a signal that is representative of a physical sound.

Retention of information such as computer-readable orcomputer-executable instructions, data structures, program modules, andso forth, can also be accomplished by using a variety of thecommunication media to encode one or more modulated data signals,electromagnetic waves (such as carrier waves), or other transportmechanisms or communications protocols, and includes any wired orwireless information delivery mechanism. In. general, thesecommunication media refer to a signal that has one or more of itscharacteristics set or changed in such a manner as to encode informationor instructions in the signal. For example, communication media includeswired media such as a wired network or direct-wired connection carryingone or more modulated data signals, and wireless media such as acoustic,radio frequency (RF), infrared, laser, and other wireless media fortransmitting, receiving, or both, one or more modulated data signals orelectromagnetic waves. Combinations of the any of the above should alsobe included within the scope of communication media.

Further, one or any combination of software, programs, computer programproducts that embody some or all of the various embodiments of thein-vehicle live guide generation system and method described herein, orportions thereof, may be stored, received, transmitted, or read from anydesired combination of computer or machine readable media or storagedevices and communication media in the form of computer executableinstructions or other data structures.

Embodiments of the in-vehicle live guide generation system and methoddescribed herein may be further described in the general context ofcomputer-executable instructions, such as program modules, beingexecuted by a computing device. Generally, program modules includeroutines, programs, objects, components, data structures, and so forth,which perform particular tasks or implement particular abstract datatypes. The embodiments described herein may also be practiced indistributed computing environments where tasks are performed by one ormore remote processing devices, or within a cloud of one or moredevices, that are linked through one or more communications networks. Ina distributed computing environment, program modules may be located inboth local and remote computer storage media including media storagedevices. Still further, the aforementioned instructions may beimplemented, in part or in whole, as hardware logic circuits, which mayor may not include a processor. NON Conditional language used herein,such as, among others, “can,” “might,” “may,” “e.g.,” and the like,unless specifically stated otherwise, or otherwise understood within thecontext as used, is generally intended to convey that certainembodiments include, while other embodiments do not include, certainfeatures, elements and/or states. Thus, such conditional language is notgenerally intended to imply that features, elements and/or states are inany way required for one or more embodiments or that one or moreembodiments necessarily include logic for deciding, with or withoutauthor input or prompting, whether these features, elements and/orstates are included or are to be performed in any particular embodiment.The terms “comprising,” “including,” “having,” and the like aresynonymous and are used inclusively, in an open-ended fashion, and donot exclude additional elements, features, acts, operations, and soforth. Also, the term “or” is used in its inclusive sense (and not inits exclusive sense) so that when used, for example, to connect a listof elements, the term “or” means one, some, or all of the elements inthe list.

While the above detailed description has shown, described, and pointedout novel features as applied to various embodiments, it will beunderstood that various omissions, substitutions, and changes in theform and details of the devices or algorithms illustrated can be madewithout departing from the scope of the disclosure. As will berecognized, certain embodiments of the inventions described herein canbe embodied within a form that does not provide all of the features andbenefits set forth herein, as some features can be used or practicedseparately from others.

1. A system to provide audio metadata to a radio receiver, the systemcomprising: an intermediate communication platform that provides aninterface to an Internet network; and a first server including: a portoperatively coupled to the intermediate communication platform,processing circuitry, and a service application for execution by theprocessor, wherein the service application is configured to: receivegeographic location information of a radio receiver via the intermediatecommunication platform; determine one or more radio broadcasts availableto the radio receiver according to the geographic location information;send metadata for the radio broadcast to the radio receiver via theintermediate communication platform, the metadata including a metadatafield containing an indication whether content of the radio broadcast issuitable for an audio fingerprinting process; and receive an audiofingerprint from the radio receiver for a radio broadcast for which theindication is that the radio broadcast is suitable for the audiofingerprinting process.
 2. The system of claim 1, wherein the firstserver is configured to store indications of suitability of the audiofingerprinting process for multiple radio broadcasts in association withmetadata for the multiple radio broadcasts; wherein the serviceapplication is configured to: determine all radio broadcasts availableto the radio receiver according to the geographic location information;and send the metadata for the determined radio broadcasts, including theindications of suitability of the audio fingerprinting process for thedetermined radio broadcasts, in response to receiving the geographiclocation information.
 3. The system of claim I, wherein the serviceapplication is configured to: receive the audio fingerprint from theradio receiver via the intermediate communication platform; determineaudio metadata of a radio broadcast corresponding to the audiofingerprint; and send the determined audio metadata to the radioreceiver.
 4. The system of claim 3, wherein the service application isconfigured to send the determined audio metadata to multiple radioreceivers via the intermediate communication platform. (Original) Thesystem of claim 3, wherein the first server includes a memory configuredto store the audio metadata in association with audio fingerprintinformation, and the service application is configured to determine theaudio metadata by retrieving the audio metadata from the memory usingthe audio fingerprint.
 6. The system of claim 3, including: a secondserver configured to store the audio metadata; and a communicationnetwork operatively coupled to the first and second servers; wherein theservice application of the first server is configured to determine theaudio metadata by forwarding the audio fingerprint to the second servervia the communication network and receive the audio metadata from thesecond server.
 7. The system of claim 3, wherein the service applicationis configured to: send the indication whether content of the radiobroadcast is suitable for an audio fingerprinting process with staticmetadata; receive an audio fingerprint from the radio receiver via theintermediate communication platform; determine dynamic metadata of aradio broadcast corresponding to the audio fingerprint; and send thedetermined dynamic metadata to the radio receiver via the intermediatecommunication platform.
 8. The system of claim 1, wherein theintermediate communication platform is a cellular phone network.
 9. Thesystem of claim 1, wherein the intermediate communication platforms atelematics network.
 10. A radio receiver comprising: radio frequency(RF) receiver circuitry configured to receive a radio broadcast signal;an Internet network interface; a display; processing circuitry; and aclient application program including instructions for execution by theprocessing circuitry, wherein the client application program isconfigured to: send geographical location information to an audiometadata service application via the Internet network interface; networkinterface, metadata for a radio broadcast available to the radioreceiver, the metadata including an indication contained in a field ofthe metadata whether content of the radio broadcast is suitable for anaudio fingerprinting process; determine that dynamic metadata associatedwith the radio broadcast is unavailable for presentation using thedisplay; and generate an audio fingerprint of the radio broadcast whenthe indication is that the content of the radio broadcast is suitablefor the audio fingerprinting process.
 11. The radio receiver of claim10, wherein the client application program is configured to: send theaudio fingerprint to the audio metadata service application via theInternet network interface; receive dynamic metadata associated with aradio broadcast corresponding to the audio fingerprint; and displayinformation included in the dynamic metadata.
 12. The radio receiver ofclaim 10, including a memory; wherein the client application program isconfigured to: identify metadata stored in the memory using thegenerated audio fingerprint; and display information included in theidentified metadata.
 13. The radio receiver of claim 10, wherein theclient application program is configured to not generate an audiofingerprint of the radio broadcast when the indication is that contentof the radio broadcast signal is not suitable for the audiofingerprinting process.
 14. The radio receiver of claim 10, wherein theclient application program is configured to: receive, via the Internetnetwork interface, metadata for all radio broadcasts available to theradio receiver for the geographical location information; and receive anindication for each available radio broadcast whether content of theradio broadcast is suitable for the audio fingerprinting process. 15.The radio receiver of claim 10, wherein the Internet network interfaceis a cellular phone network.
 16. The radio receiver of claim 10, whereinthe Internet network interface is a telematics network.
 17. Anon-transitory computer readable storage medium including instructionsthat, when performed by processing circuitry of a server, cause theprocessing circuitry to perform acts comprising: receiving geographiclocation information of a radio receiver via an intermediatecommunication platform that provides an interface to an Internetnetwork; determining a radio broadcast available to the radio receiveraccording to the geographic location information; determining whethercontent of the radio broadcast is suitable for an audio fingerprintingprocess without audio fingerprinting of the content of the radiobroadcast; and sending metadata for the radio broadcast to the radioreceiver via the intermediate communication platform, the metadataincluding a metadata field containing an indication whether content ofthe radio broadcast is suitable for an audio fingerprinting process; andreceiving an audio fingerprint from the radio receiver for a radiobroadcast for which indication is that the radio broadcast is suitablefor the audio fingerprinting process.
 18. The non-transitory computerreadable storage medium of claim 17, including instructions that causethe processing circuitry to perform acts comprising: determining allradio broadcasts available to the radio receiver according to thegeographic location information; and sending the metadata for thedetermined radio broadcasts, including the indications of suitability ofthe audio fingerprinting process for the determined radio broadcasts, inresponse to receiving the geographic location information.
 19. Thenon-transitory computer readable storage medium of claim 17, includinginstructions that cause the processing circuitry to perform actscomprising: determining audio metadata of a radio broadcastcorresponding to the audio fingerprint; and sending the determined audiometadata to the radio receiver.
 20. The non-transitory computer readablestorage medium of claim 17, including instructions that cause theprocessing circuitry to perform acts comprising sending the audiometadata determined according to the audio fingerprint received from theradio receiver to multiple other radio receivers via the intermediatecommunication platform.